#ifndef __CORE_COMMON_LIMITS_H_INCLUDE__
#define __CORE_COMMON_LIMITS_H_INCLUDE__

#include <core/common/platform.h>

namespace core{ namespace common
{
	static const size_t kEthMaxPacketSize        = 1600;
	static const size_t kEthMaxPayloadSize       = 1500;
	static const size_t kEthMaxIfaceCount        = 512;
	static const size_t kEthMaxPacketCount       = 4096;
	static const uint16 kMaxPortNumber           = 65535;

	// invalid values
	static const uint8  kInvalidUint8Value   = ((uint8) -1);
	static const uint16 kInvalidUint16Value  = ((uint16)-1);
	static const uint32 kInvalidUint32Value  = ((uint32)-1);
	static const uint64 kInvalidUint64Value  = ((uint64)-1);
	static const size_t kInvalidUintSizeTValue  = ((size_t)-1);

	static const int8  kMaxInt8Value  = 0x7F;
	static const int16 kMaxInt16Value = 0x7FFF;
	static const int32 kMaxInt32Value = 0x7FFFFFFF;
	static const int64 kMaxInt64Value = 0x7FFFFFFFFFFFFFFFLL;
}}

#endif //__CORE_COMMON_LIMITS_H_INCLUDE__

